<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<!--父组件-->
<div id="app">
  <lk-box ref="box1"></lk-box>
  <button @click="getChildComponent">获取子组件</button>
</div>

<!--子组件模板-->
<template id="box">
  <div style="background-color:red;width: 200px;height: 200px;">
    <button @click="btnClick">点我</button>
  </div>
</template>

<script src="../js/vue.js"></script>
<script>
  // 定义局部组件子组件
  const Box = {
    data(){
      return {
        msg: '春风十里'
      }
    },
    methods: {
      btnClick(){
        alert('点击了按钮')
      }
    },
    template: '#box'
  };

  // 父组件
  const app = Vue.createApp({
    data(){
      return {
        msg: '你好Vue3！'
      }
    },
    components: {
      // 挂载子组件
      'lk-box': Box
    },
    methods: {
      // 获取子组件
      getChildComponent(){
        // this.$refs.box1 相当于拿到了子组件
        // this.$refs.box1.msg 就是拿到了子组件里面的 msg 数据
        // this.$refs.box1.btnClick 就是拿到了子组件里面的 btnClick 方法
        console.log(this.$refs.box1.msg);

      }
    }
  });
  // 挂载vue实例
  app.mount('#app');
</script>
</body>
</html>